/**
 * <strong>Title : ShutDownCauseDao.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.em.dao<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年11月4日 下午2:33:38<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.em.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.em.model.ShutDownCause;
import cn.b.sky.mes.em.model.condition.ShutDownCauseCondition;

/**
 * <strong>Title : ShutDownCauseDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.em.dao<br></strong>
 * <strong>Description : </strong>故障原因持久层<br> 
 * <strong>Create on : 2015年11月4日 下午2:33:38<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface ShutDownCauseDao {

  /**
   * <strong>Title : selectShutDownCauseListByCondition<br></strong>
   * <strong>Description : </strong>根据查询条件获得故障原因列表<br> 
   * <strong>Create on : 2015年11月4日 下午2:35:46<br></strong>
   * <p>
   * @param condition
   * @return
   * List<ShutDownCause>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShutDownCause> selectShutDownCauseListByCondition(ShutDownCauseCondition condition);

  /**
   * <strong>Title : deleteShutDownCause<br></strong>
   * <strong>Description : </strong>删除故障原因实体<br> 
   * <strong>Create on : 2015年11月4日 下午2:44:26<br></strong>
   * <p>
   * @param shutDownCauseCode
   * @param siteCode
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteShutDownCause(@Param("shutDownCauseCode") String shutDownCauseCode, @Param("siteCode") String siteCode);

  /**
   * <strong>Title : saveShutDownCause<br></strong>
   * <strong>Description : </strong>新增故障原因<br> 
   * <strong>Create on : 2015年11月4日 下午2:44:32<br></strong>
   * <p>
   * @param shutDownCause
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void saveShutDownCause(ShutDownCause shutDownCause);

  /**
   * <strong>Title : updateShutDownCause<br></strong>
   * <strong>Description : </strong>更新故障原因<br> 
   * <strong>Create on : 2015年11月4日 下午2:44:39<br></strong>
   * <p>
   * @param shutDownCause
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateShutDownCause(ShutDownCause shutDownCause);

  /**
   * <strong>Title : selectShutDownCauseCount<br></strong>
   * <strong>Description : </strong>获得故障原因总数<br> 
   * <strong>Create on : 2015年11月4日 下午2:44:47<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectShutDownCauseCount(ShutDownCauseCondition condition);

  /**
   * <strong>Title : getShutDownCause<br></strong>
   * <strong>Description : </strong>根据causecode获得故障原因实体<br> 
   * <strong>Create on : 2015年11月4日 下午2:57:02<br></strong>
   * <p>
   * @param causeCode
   * @param siteCode
   * @return
   * ShutDownCause
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  ShutDownCause getShutDownCause(@Param("shutDownCauseCode") String causeCode, @Param("siteCode") String siteCode);

  /**
   * 
   * <strong>Title : selectShutDownCauseForSuggest<br></strong>
   * <strong>Description : </strong>停机原因搜索建议<br> 
   * <strong>Create on : 2016年4月11日 下午7:58:13<br></strong>
   * <p>
   * @param condition
   * @return
   * List<ShutDownCause>
   * @throws 
   * @author zhaoxin01<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<ShutDownCause> selectShutDownCauseForSuggest(ShutDownCauseCondition condition);

}
